/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 
 * 
 *
 * 
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;


namespace JDCloudSDK.Iotcore.Model
{

    /// <summary>
    ///  batchDevice
    /// </summary>
    public class BatchDevice
    {

        ///<summary>
        /// 设备名称
        ///</summary>
        public string DeviceName{ get; set; }
        ///<summary>
        /// 设备标识
        ///</summary>
        public string Identifier{ get; set; }
        ///<summary>
        /// 设备状态：
        /// online:在线
        /// offline:离线 
        /// 
        ///</summary>
        public string DeviceState{ get; set; }
        ///<summary>
        /// 升级完成时间，时间为东八区（UTC/GMT+08:00）
        ///</summary>
        public long? EndTime{ get; set; }
        ///<summary>
        /// 当前固件版本
        ///</summary>
        public string CurrentVersion{ get; set; }
        ///<summary>
        /// 升级状态：
        /// sending:待推送
        /// sended:已推送
        /// waiting:待升级
        /// processing:进行中
        /// retrying:待重试
        /// success:成功
        /// failure:失败 
        /// 
        ///</summary>
        public string UpdatedState{ get; set; }
        ///<summary>
        /// 进度，[1,100]
        ///</summary>
        public int? Progress{ get; set; }
        ///<summary>
        /// 已经重试的次数，[0,5]
        ///</summary>
        public int? RetriedTimes{ get; set; }
        ///<summary>
        /// 总次数，[0,5]
        ///</summary>
        public int? RetryTimes{ get; set; }
        ///<summary>
        /// 备注/失败原因码：
        /// -1:推送超时失败
        /// 0:未知原因
        /// 1:下载固件失败
        /// 2:固件校验失败
        /// 3:固件烧录失败
        /// 4:固件升级超时
        /// 5:任务终止
        /// 
        ///</summary>
        public int? ErroCode{ get; set; }
        ///<summary>
        /// 失败原因信息
        ///</summary>
        public string ErrorMsg{ get; set; }
        ///<summary>
        /// 开始时间，时间为东八区（UTC/GMT+08:00）
        ///</summary>
        public long? BeginedTime{ get; set; }
    }
}
